Conventional Commits
コミットメッセージの規約の一つ
コミットメッセージの先頭に、どういうコミットががわかるようなプレフィクスをつける規約
コードがどういう修正であるかという「意図」が一目でわかるようになる
feat(api)という風に(api)スコープを書いておけば「どの範囲」の修正点かがすぐにわかるコミットメッセージだといえる
プレフィクスをつけることで、プルリクエストでのレビューがしやすかったり、継続的インテグレーション(CI)のときに自動で処理がするなどができるようになる(といわれている)
例:
変更履歴(CHANGELOG)の自動生成
特定のコミット種別をトリガーにしたアクションの実行
コミット粒度を小さくすることができる
code:COMMIT_MESSAGE
<type>(optional scope): <description>
optional body
optional footer(s)
type: コミットの種類、コミット種別
[optional scope]: typeで
description: コミットで行った変更の内容
optional body: 本文
optional footer(s): フッター
code:memo
feat: 新機能の追加や変更
fix: バグ修正
docs: ドキュメントの変更
style: コードスタイルの変更(フォーマットの修正など)
refactor: コードの再構築やリファクタリング
test: テストコードの追加や変更
chore: ビルドプロセスや開発環境の変更
ci: CI設定ファイルやスクリプトの変更
perf: パフォーマンスを向上させるもの
公式: Conventional Commits
Angularはコミットメッセージをテンプレート化したものを使用している
angular/CONTRIBUTING.md at master · angular/angular
便利なコミットメッセージを生成するnodejsのパッケージ
conventional-changelog/LICENSE.md at master · conventional-changelog/conventional-changelog
依存関係についてのコミット
pvdlg/conventional-commit-types: List of conventional commit types with emoji
確認用
Q. Conventional Commits
Q. プレフィクスとは
Q. Conventional Commitsに従うと何がいいのか
参考
【今日からできる】コミットメッセージに 「プレフィックス」 をつけるだけで、開発効率が上がった話 - Qiita
Conventional Commits - コミットメッセージ仕様
Conventional Commits
Conventional Commitsを用いたコミットメッセージの標準化 | T&C Technologies Inc.
関連
コミットメッセージを英語で書く
セマンティック・バージョニング
#コミットメッセージ #git